On data transfer in the TPC/IP network, data is transmitted and received in a unit referred to as packet.
A transmission-side apparatus transmits a packet to a reception-side apparatus. When receiving a packet transmitted from the transmission-side apparatus, the reception-side apparatus transmits a positive acknowledgement packet (Acknowledgement Packet: hereinafter referred to as an ACK packet) to the transmission-side apparatus. Receiving the ACK packet transmitted from the reception-side apparatus, the transmission-side apparatus acknowledges the fact that the packet transmitted by the transmission-side apparatus is received by the reception-side apparatus.
The amount of available data to continuously be transmitted to the reception-side apparatus without receiving the ACK packet is limited by a window size. Setting a maximum amount of the data which the reception-side apparatus receives as an upper limit (RWIN), a typical window size is increased and decreased depending on a congestion state of a network. Ideally, the window size is stable at a value RWIN with no network congestion.
Thus, when the reception-side apparatus transmits the data to a reception apparatus via the network, transmission processing by the transmission-side apparatus is blocked only for a time between the transmission-side apparatus transferring data as large as the window size and the reception-side apparatus receiving the ACK packet (Round Trip Time: referred to as RTT, hereinafter).
Here, when the transmission-side apparatus transmits the data to the reception-side apparatus via a network having a great transfer delay, a problem occurs in that the data cannot be efficiently transferred (high data transfer rate) due to a long RTT.
This problem is highlighted especially when an apparatus referred to as a “network appliance” such as a home appliance (a refrigerator and a microwave), including a network connecting function, is utilized as the reception-side apparatus. In other words, the above-described problem is highlighted because a typical communications memory (receiving buffer memory) for the network appliance is small, and thus available space of the communications memory is set to RWIN.
Transmission-side apparatuses for solving the above problem have conventionally been proposed (See Patent Reference 1, for example). A transmission-side apparatus in Patent Reference 1 converts a delay time of a network into a virtual window size, utilizing a TCP/IP control, and adds the virtual window size to the above window size. Then, the transmission-side apparatus sets a resulting size of the addition as a new window size, and transmits data in accordance with the new window size. This achieves an efficient data transfer.
FIG. 1 shows a structure of a transmission-side apparatus in the above-described Patent Reference 1.
A transmission-side apparatus 920 in the above Patent Reference 1 is connected to a reception-side apparatus 910 via a network.
In addition, the transmission-side apparatus 920 includes, for example, a central controlling unit 921 executing an application program, a main memory 922 storing data necessary to execute the program, and communications controlling unit 923 communicating in accordance with the TCP/IP.
The communications controlling unit 923 includes a transmitting buffer memory 925 for storing data to be transmitted to the reception-side apparatus 910, a virtual buffer adding unit 926 adding the above-described virtual window size, and a communications protocol processing unit 924 transmitting the data stored in the transmitting buffer memory 925 to the reception-side apparatus 910.
When notified of a window size from the reception-side apparatus 910, the communications protocol processing unit 924 notifies the virtual buffer adding unit 926 of the window size.
In the case where the notified window size is small, the virtual buffer adding unit 926 renews the window size by adding the virtual window size to the window size.
The communications protocol processing unit 924 retrieves the data as large as the window size, renewed by the virtual buffer adding unit 926, and transmits the data to the reception-side apparatus 910.
This encourages the transmission-side apparatus 920 to transmit as large amount of data as possible within the RTT by increasing the window size even though the window size notified from the reception-side apparatus 910 is small.
Meanwhile, reception-side apparatuses for solving the above problem have been proposed (See Patent Reference 2, for example). The reception-side apparatus in Patent Reference 2 compensates for a deficiency of a receiving buffer memory out of a main memory, utilizing a TCP/IP control, and notifies a transmission-side apparatus of a capacity, of the receiving buffer memory of which deficiency has been compensated, in a window size. This achieves an efficient data transfer.
FIG. 2 shows a structure of a reception-side apparatus in the above-described Patent Reference 2.
A reception-side apparatus 960 in the above Patent Reference 2 is connected to a transmission-side apparatus 970 via a network.
In addition, the reception-side apparatus 960 includes, for example, a central controlling unit 962 executing an application program, a main memory 963 storing data necessary to execute the program, a communications controlling unit 965 communicating in accordance with the TCP/IP, and a mode controlling unit 961 directing the central controlling unit 962 a mode switch.
The communications controlling unit 965 includes: a first receiving buffer memory 967 for storing data transmitted from the transmission-side apparatus 970 and received; and a communications protocol processing unit 966 for receiving the data from the transmission-side apparatus 970 as well as transmitting an ACK packet, and then storing the received data to the first receiving buffer memory 967.
In the case where available space of the first receiving buffer memory 967 is small, the mode controlling unit 961 directs the central controlling unit 962 to secure part of the region of the main memory 963 as a second receiving buffer memory 974.
Upon receiving the direction, the central controlling unit 962 secures the second receiving buffer memory 974, and then notifies the communications protocol processing unit 966 of the details of the direction. As a result, the communications protocol processing unit 966 adds a size of the second receiving buffer memory 974 to the available space of the first receiving buffer memory 967, and notifies the transmission-side apparatus 970 of the result of the addition as a window size.
This allows the reception-side apparatus 960 to: have an increased size of a receiving buffer memory for receiving the data transmitted from the transmission-side apparatus 970; and cause as large amount of data as possible within the RTT to be transmitted to receive from the transmission-side apparatus 970.
Patent Reference 1: Japanese Unexamined Patent Application Publication No. 09-247209.
Patent Reference 2: Japanese Unexamined Patent Application Publication No. 2005-109765.